CentOS 7
Sponsored Link

OpenStack Ocata : Configure Swift#1 (Control Node)
2017/03/05
 
Configure OpenStack Object Storage (Swift).
This example is based on the emvironment like follows.
-+---------------+----------------------------+------------
 |               |                            |
 |           eth0|10.0.0.30               eth0|10.0.0.50
 |   +-----------+-----------+    +-----------+-----------+
 |   |    [ Control Node ]   |    |    [  Proxy Node  ]   |
 |   |                       |    |                       |
 |   |  MariaDB    RabbitMQ  |    |      Swift Proxy      |
 |   |  Memcached  httpd     |    |                       |
 |   |  Keystone             |    |                       |
 |   +-----------------------+    +-----------------------+
 |
 +---------------+----------------------------+----------------------------+------------
             eth0|10.0.0.71               eth0|10.0.0.72               eth0|10.0.0.73
     +-----------+-----------+    +-----------+-----------+    +-----------+-----------+
     |   [ Storage Node#1 ]  |    |   [ Storage Node#2 ]  |    |   [ Storage Node#3 ]  |
     |                       |    |                       |    |                       |
     |     Swift-Account     |    |     Swift-Account     |    |     Swift-Account     |
     |    Swift-Container    |    |    Swift-Container    |    |    Swift-Container    |
     |     Swift-Object      |    |     Swift-Object      |    |     Swift-Object      |
     +-----------------------+    +-----------------------+    +-----------------------+

[1] Add Swift user or service on Keystone Server (Control Node) first.
# add swift user

[root@dlp ~(keystone)]#
openstack user create --domain default --project service --password servicepassword swift

+---------------------+----------------------------------+
| Field               | Value                            |
+---------------------+----------------------------------+
| default_project_id  | 18ba3488fac4462dbdc5689109386c36 |
| domain_id           | default                          |
| enabled             | True                             |
| id                  | 0ad80e30da274d07bfb9b5625a1ebfaa |
| name                | swift                            |
| options             | {}                               |
| password_expires_at | None                             |
+---------------------+----------------------------------+

# add swift user in admin role

[root@dlp ~(keystone)]#
openstack role add --project service --user swift admin
# add an entry for swift service

[root@dlp ~(keystone)]#
openstack service create --name swift --description "OpenStack Object Storage" object-store

+-------------+----------------------------------+
| Field       | Value                            |
+-------------+----------------------------------+
| description | OpenStack Object Storage         |
| enabled     | True                             |
| id          | eb9a98171aa44f069593d2078f084704 |
| name        | swift                            |
| type        | object-store                     |
+-------------+----------------------------------+

# define the IP address of Proxy Node

[root@dlp ~(keystone)]#
export swift_proxy=10.0.0.50
# add an entry for swift endpoint (public)

[root@dlp ~(keystone)]#
openstack endpoint create --region RegionOne object-store public http://$swift_proxy:8080/v1/AUTH_%\(tenant_id\)s

+--------------+---------------------------------------------+
| Field        | Value                                       |
+--------------+---------------------------------------------+
| enabled      | True                                        |
| id           | e46c9c57b84d4a12b7dc219eee445ac1            |
| interface    | public                                      |
| region       | RegionOne                                   |
| region_id    | RegionOne                                   |
| service_id   | eb9a98171aa44f069593d2078f084704            |
| service_name | swift                                       |
| service_type | object-store                                |
| url          | http://10.0.0.50:8080/v1/AUTH_%(tenant_id)s |
+--------------+---------------------------------------------+

# add an entry for swift endpoint (internal)

[root@dlp ~(keystone)]#
openstack endpoint create --region RegionOne object-store internal http://$swift_proxy:8080/v1/AUTH_%\(tenant_id\)s

+--------------+---------------------------------------------+
| Field        | Value                                       |
+--------------+---------------------------------------------+
| enabled      | True                                        |
| id           | 6e3c65f0931a40f3b1d99ab8a7cef8b6            |
| interface    | internal                                    |
| region       | RegionOne                                   |
| region_id    | RegionOne                                   |
| service_id   | eb9a98171aa44f069593d2078f084704            |
| service_name | swift                                       |
| service_type | object-store                                |
| url          | http://10.0.0.50:8080/v1/AUTH_%(tenant_id)s |
+--------------+---------------------------------------------+

# add an entry for swift endpoint (admin)

[root@dlp ~(keystone)]#
openstack endpoint create --region RegionOne object-store admin http://$swift_proxy:8080/v1

+--------------+----------------------------------+
| Field        | Value                            |
+--------------+----------------------------------+
| enabled      | True                             |
| id           | a0619be7e1bf4e138ca276647fb2ae19 |
| interface    | admin                            |
| region       | RegionOne                        |
| region_id    | RegionOne                        |
| service_id   | eb9a98171aa44f069593d2078f084704 |
| service_name | swift                            |
| service_type | object-store                     |
| url          | http://10.0.0.50:8080/v1         |
+--------------+----------------------------------+
 
Tweet